// 封装分类数据业务相关代码
import { getCategoryAPI } from '@/apis/category'
import {onMounted, ref} from 'vue'
import { useRoute } from 'vue-router';
import { onBeforeRouteUpdate } from 'vue-router'



export function useCategory(){
    const categoryData = ref({})
    const route = useRoute()
    // 如果下面的路由缓存方法不存就直接用route.params.id  传的话用最新的
    const getCategory = async (id = route.params.id) => {
        //这里有个参数 要加参数
        const res = await getCategoryAPI(id)
        categoryData.value = res.result
    }

    onMounted(() => getCategory())

    // 目标：路由参数变化的时候，可以吧分类数据接口重新发送
    onBeforeRouteUpdate((to) => {
        console.log('路由发生变化了');
        // 存在问题：使用最新的路由参数请求最新的分类数据 用to
        console.log(to);
        getCategory(to.params.id)
    })

    return {
        categoryData
    }
}